﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TogheterWeBuyIt.Models;
using System.Web.Security;

namespace TogheterWeBuyIt.Controllers
{
    public class DesejaProdutoController : Controller
    {
		CidadeRepository repCidade = new CidadeRepository();
		DesejaProdutoRepository repDesejaProd = new DesejaProdutoRepository();
		PromocaoRepository repPromo = new PromocaoRepository();
		ProdutosRepository repProd = new ProdutosRepository();
		PassagemAviaoRepository repPassagem = new PassagemAviaoRepository();


        public ActionResult Join(Produto prod)
        {
            return View();
        }

        //
        // GET: /DesejaProduto/Details/5
		public ActionResult Details(int id)
		{
			IQueryable<DesejaProduto> desejos = null;
			desejos = repDesejaProd.GetDesejaProdutos(id);
			IQueryable<Promocao> promos = repPromo.GetPromocoes(id);

			DesejaProdutoDetailsModel model = new DesejaProdutoDetailsModel()
			{
				Desejos = desejos,
				Promocoes = promos
			};

			return View(model);
		}        
        
        //
        // GET: /DesejaProduto/Edit/5
 
        public ActionResult Edit(int id)
        {
            return View();
        }

        //
        // POST: /DesejaProduto/Edit/5

        [HttpPost]
        public ActionResult Edit(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add update logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

		[HttpPost]
		public ActionResult InserirComentario(FormCollection collection)
		{
			try
			{
				ComentarioProduto coment = new ComentarioProduto();
				if (Session["LoggedUserId"] != null)
				{
					int userId = (int)Session["LoggedUserId"];

					if (userId > 0)
					{
						
						coment.IdUsuario = userId;
						coment.IdProduto = int.Parse(collection["IdProduto"]);
						coment.Texto = collection["Texto"];
						coment.DataComentario = DateTime.Now;

						repProd.InserirComentario(coment);
					}
				}
				return RedirectToAction("Details", new { id = coment.IdProduto });
			}
			catch
			{
				return View();
			}
		}

        //
        // GET: /DesejaProduto/Delete/5
 
        public ActionResult Delete(int id)
        {
            return View();
        }

        //
        // POST: /DesejaProduto/Delete/5

        [HttpPost]
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add delete logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}
